package controller

import (
	"net/http"

	"gitee.com/go-micro-services/consul-http/conf"
	"gitee.com/go-micro-services/consul-http/utils"
	"github.com/gin-gonic/gin"
)

// 用于健康检查的处理程序
func HealthHandler(c *gin.Context) {
	c.JSON(http.StatusOK, gin.H{
		"msg": "ok",
	})
}

// 获取服务列表的处理程序
func ServiceListHandler(c *gin.Context) {
	services, err := utils.GetServiceList()
	if err != nil {
		c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
		return
	}
	// 将服务列表转换为 JSON 并返回
	c.JSON(http.StatusOK, services)
}

// 获取服务列表的处理程序
func CurrentServiceHandler(c *gin.Context) {
	services, err := utils.FilterService(conf.HttpName) // 这里默认来说，名称不能用连字符 - 否则会报错，否则就需要自定义函数
	if err != nil {
		c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
		return
	}
	// 将服务列表转换为 JSON 并返回
	c.JSON(http.StatusOK, services)
}
